package org.example.lotterysystem.service;

import org.example.lotterysystem.controller.param.CreateActivityParam;
import org.example.lotterysystem.controller.param.PageParam;
import org.example.lotterysystem.service.dto.ActivityDTO;
import org.example.lotterysystem.service.dto.ActivityDetailDTO;
import org.example.lotterysystem.service.dto.CreateActivityDTO;
import org.example.lotterysystem.service.dto.PageListDTO;

public interface ActivityService {
    /**
     * 创建活动
     *
     * @param param
     * @return
     */
    CreateActivityDTO creatActivity(CreateActivityParam param);


    /**
     * 翻页查询活动列表
     * @param param
     * @return
     */
    PageListDTO<ActivityDTO> findActivityList(PageParam param);

    /**
     * 获取活动详细属性
     * @param activityId
     * @return
     */
    ActivityDetailDTO getActivityDetail(Long activityId);

    /**
     *  缓存活动详细信息（先读取表数据在缓存）
     *
     * @param activityId
     */
    void cacheActivity(Long activityId);
}
